package com.appkubes.fintech.restful.application.rent.service;


import com.appkubes.fintech.common.response.Response;
import com.appkubes.fintech.core.po.FintechRentBillHeader;
import com.appkubes.fintech.core.po.FintechRentBillLines;
import com.appkubes.fintech.core.po.FintechRentOrder;
import com.appkubes.fintech.restful.application.rent.reponse.BillResponse;
import com.appkubes.fintech.restful.application.rent.request.RepayPeriodRequest;

import java.util.List;

/**
 * @description:
 * @author: xqc
 * @date: 2020/1/2 15:46
 * @params:
 * @return:
 */
public interface IRentBillService {


    FintechRentBillHeader  selectByBillKey(String billKey);
    /**
     * @description: 创建租售账单
     * @author: xqc
     * @date: 2020/1/2 17:27
     * @params:
     * @return:
     */
    Response<FintechRentBillHeader> createBill(FintechRentOrder order, Integer isPayFirst);

    Response<List<BillResponse>> queryBillInfo(String userKey);
    Response<BillResponse> getBillInfo(String userKey);

    public List<FintechRentBillLines> getBillLinesByBillKey(String billKey);

    public List<FintechRentBillHeader> getBillByUserKey(String userKey);

    /**
     * @Author: XQC 2020/1/7/22:33
     * @params:
     * @return:  获取下一期还款数据
     *
     * @Description:
     **/
    public FintechRentBillLines nextLines(String billKey,Integer period);

    /**
     * @Author: XQC 2020/1/7/22:43 上一期还款完毕，更新下一次还款状态
     * @params:
     * @return:
     * @Description:
     **/
    public FintechRentBillLines updatePayNextLines(FintechRentBillLines lines,FintechRentBillHeader header);
}
